package com.BXuan.mybatis.mapper;

import com.BXuan.mybatis.pojo.Emp;
import com.BXuan.mybatis.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface EmpMapper {
    /**
     * 实现姓名模糊查询，利用resultMap接收
     * @param mohu 姓名模糊查询字段
     * @return User对象集合
     */
    List<User> testMohu(@Param("mohu") String mohu);

    /**
     * 通过级联查询获得员工信息及部门信息
     * @param eid 员工id
     * @return 员工信息和部门信息
     */
    Emp getEmpAndDeptByEid01(@Param("eid") int eid);
    /**
     * 使用association处理映射关系
     * @param eid 员工id
     * @return 员工信息和部门信息
     */
    Emp getEmpAndDeptByEid02(@Param("eid") int eid);

    /**
     * 多对一查询处理
     * 第一步：通过分步查询查询员工信息
     * @param eid 员工id
     * @return 员工信息和部门信息
     */
    Emp getEmpByStep(@Param("eid") int eid);

    /**
     * 一对多查询处理
     * 根据部门id查询员工信息
     * @param did 部门id
     * @return User集合类
     */
    List<Emp> getEmpListByDid(@Param("did") int did);

}
